#可以找出对应目录下，符合条件的所有文件，只保留最后N个
dir="/usr/local/mysqlDump"
exp="*.sql" #表达式,根据需要进行编写
num=${1:-3}
#范例: sh findFilesToDel.sh 2 代表找出/usr/local/mysqlDump文件夹下所有匹配上*.sql的文件，保留最近的2个

# 在指定目录下搜索带有指定后缀名的文件，并按照修改时间降序排列，最后保留最新的num个文件
echo "`date +"%Y-%m-%d_%H:%M:%S"`:-------脚本findFilesToDel.sh执行开始-------" >> /usr/local/mysqlDump/log/deleteFile.log
files=($(find "$dir" -type f -name "$exp" -printf "%p\n" | xargs ls -t))

if [[ ${#files[@]} -gt ${num} ]]; then
    # 从第num+1个文件开始进行删除操作
    for (( i=${num}; i<${#files[@]}; i++ )); do
        rm "${files[$i]}"
        echo "删除成功：${files[$i]}" >> /usr/local/mysqlDump/log/deleteFile.log
    done
else
    echo "没有符合条件的文件。" >> /usr/local/mysqlDump/log/deleteFile.log
fi
echo "`date +"%Y-%m-%d_%H:%M:%S"`:-------脚本findFilesToDel.sh执行结束-------" >> /usr/local/mysqlDump/log/deleteFile.log